var mongoose = require('mongoose');
const Product = require('../model/product.model');//数据模型的引入

//增
exports.create = function(req,res,next){
    const product = new Product(req.body);//实例化对象，req.body是post的数据提交，参数从body中获取
    product.save().then(data=>{//save数据保存
        res.json(data);//then之后限定格式为json输出
    });
};

//删
exports.remove = function(req,res,next){
    const id = req.params.id;
    Product.findByIdAndRemove(id,function(err,data){
        res.json({message:'删除成功'});
    });
};

//改
exports.update = function(req,res,next){
    const id = req.params.id;//修改数据通过寻找id来修改，这里的参数是接收路由的product里面设置的参数id
    product.findByIdAndUpdate(id,{$set:req.body},{new:false}).then(data=>{//new是没有找到就新增，这里设置false就是找不到也不新增
        res.json(data);
    });
};

//查
exports.list = function(req,res,next){
    var page = req.body.page ? req.body.page: 1;//定义页，找到就用找到的，没有找到就用1
    var rows = req.body.rows ? req.body.rows: 10;//定义定义一页显示几个，找到就用找到的，没有找到就用5    
    var queryCondition = {};//设置一个查询条件

    if(req.body.title&&req.body.title.trim().length>0){
        title = req.body.title;
        queryCondition = {
            title:new RegExp(title,'i')//把查询条件设为name，通过name来查询
        };
    };
    if(req.body.cateId&&req.body.cateId.trim().length>0){
        cateId = req.body.cateId;
        queryCondition = Object.assign(queryCondition,{//assign表示对象合并
            cateId:cateId
        });
    }
    console.log(queryCondition);
    Product.paginate(queryCondition,{page: +page,limit: +rows},function(err,result){
        result.rows = result.docs;
        delete result.docs;
        res.json(result);
    });
};